/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia.agente;

import entidades.DetallePedidoServicioImpl;
import java.util.Date;
import persistencia.Agente;
import persistencia.FachadaInterna;

/**
 *
 * @author mariodante
 */
public class DetallePedidoServicioAgente extends Agente implements DetallePedidoServicio {

     private DetallePedidoServicioImpl detallePedidoServicio;
    
    private String oidServicio;
    private boolean matServicio;
    
    private String oidEmpleado;
    private boolean matEmpleado;
    
    private String oidPedido;
//    private boolean matPedido;
    
    
     public DetallePedidoServicioImpl getDetallePedidoServicio() {
        return detallePedidoServicio;
    }

    public void setDetallePedidoServicio(DetallePedidoServicioImpl detalle) {
        this.detallePedidoServicio = detalle;
    }
    
    @Override
    public String getDescripcion() {
        return getDetallePedidoServicio().getDescripcion();
    }

    @Override
    public void setDescripcion(String descripcion) {
        getDetallePedidoServicio().setDescripcion(descripcion);
    }

    @Override
    public Date getFechaHoraInicio() {
        return getDetallePedidoServicio().getFechaHoraInicio();
    }

    @Override
    public void setFechaHoraInicio(Date fechaHoraInicio) {
        getDetallePedidoServicio().setFechaHoraInicio(fechaHoraInicio);
    }

    @Override
    public int getDuracion() {
        return getDetallePedidoServicio().getDuracion();
    }

    @Override
    public void setDuracion(int duracion) {
        getDetallePedidoServicio().setDuracion(duracion);
    }

    @Override
    public double getImporteSubtotal() {
        return getDetallePedidoServicio().getImporteSubtotal();
    }

    @Override
    public void setImporteSubtotal(double importeSubtotal) {
        getDetallePedidoServicio().setImporteSubtotal(importeSubtotal);
    }

    @Override
    public Servicio getServicio() {
        
         if(!matServicio){
            detallePedidoServicio.setServicio(FachadaInterna.getInstancia().buscar(Servicio.class, oidServicio));
            matServicio = true;
        }
        
        return getDetallePedidoServicio().getServicio();
    }

    @Override
    public void setServicio(Servicio servicio) {
        getDetallePedidoServicio().setServicio(servicio);
    }

    @Override
    public Empleado getResponsable() {
        
        if(!matEmpleado){
            detallePedidoServicio.setResponsable(FachadaInterna.getInstancia().buscar(Empleado.class, oidEmpleado));
            matEmpleado = true;
        }
        
        return getDetallePedidoServicio().getResponsable();
    }

    @Override
    public void setResponsable(Empleado responsable) {
        getDetallePedidoServicio().setResponsable(responsable);
    }

    /**
     * @return the oidServicio
     */
    public String getOidServicio() {
        return oidServicio;
    }

    /**
     * @param oidServicio the oidServicio to set
     */
    public void setOidServicio(String oidServicio) {
        this.oidServicio = oidServicio;
    }

    /**
     * @return the oidEmpleado
     */
    public String getOidEmpleado() {
        return oidEmpleado;
    }

    /**
     * @param oidEmpleado the oidEmpleado to set
     */
    public void setOidEmpleado(String oidEmpleado) {
        this.oidEmpleado = oidEmpleado;
    }

    /**
     * @return the oidPedido
     */
    public String getOidPedido() {
        return oidPedido;
    }

    /**
     * @param oidPedido the oidPedido to set
     */
    public void setOidPedido(String oidPedido) {
        this.oidPedido = oidPedido;
    }
    
}
